创建硬链接:Invalid cross

您所在的位置:网站首页 Privacy Policy: link 翻译 创建硬链接:Invalid cross

创建硬链接:Invalid cross

2023-06-04 07:55| 来源: 网络整理| 查看: 265

http://www.cppblog.com/mingjiagu/archive/2011/12/01/161271.html

test243:~ # ln -d /usr/local/named/etc/named.conf /etc/named.conf ln: creating hard link ’ /etc/… /etc/named.conf’ :Invalid cross-device link 原因: 硬链接限制:1.不能跨文件系统。2,不能连接目录。只能在同一个分区建立数据关联 此处因为2个文件在不同的目录所有不能建立硬链接。

以下是网络收集的一些资料: 硬链接和软连接的比较 1)在同一文件系统下,可以创建软链接或硬链接(同文件系统不同目录下也可以); 2)硬链接的文件显示大小跟原文件一样;软链接的文件很小,只有几十个字节; 3)硬链接的文件的inode跟原文件一样;软连接的文件有自己的inode,跟原文件不一样; 4)创建软链接或硬链接文件不会明显占用文件系统磁盘空间;

我们测试一下跨文件系统(/home --> /var ),是否可以建立软链接和硬链接: 软链接成功: [root@s14 var]# ln -s /home/zjw/Wins2003.tar.gz /var/wins2003.symboliclink 硬链接失败: [root@s14 var]# ln -b /home/zjw/Wins2003.tar.gz /var/wins2003.hardlink ln: creating hard link /var/wins2003.hardlink' to/home/zjw/Wins2003.tar.gz’: Invalid cross-device link

上述实验说明: 1)软链接可以跨文件系统建立; 硬链接则不可以;

硬链接(hard link) UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接。它可以使得单个程序对同一文件使用不同的名字。这样的好处是文件系 统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接。该登记项具有一个新的文件名和要连接文件的 inode号,文件的目录登记项就是所谓的文件硬链接(硬链接,目录登记项: 文件名–>文件的inode;文件名可以有多个,但文件inode只是一个)。不论一个文件有多少硬链接,在磁盘上只有一个描述它的inode,只要该文件的链接数不为0,该文件就保持存在。硬链接不能跨越文件系统,也不能对目录建立硬链接! 硬 连接是直接建立在节点表上的(inode),建立硬连接指向一个文件的时候,会更新节点表上面的计数值。举个例子,一个文件被连接了两次(硬连接),这 个文件的计数值 是3,而无论通过3个文件名中的任何一个访问,效果都是完全一样的,但是如果删除其中任意一个,都只是把计数值减1,不会删除实际的内容的,(任何存在的 文件本身就算是一个硬连接)只有计数值变 成0也就是没有任何硬连接指向的时候才会真实的删除内容。

软链接(symbolic link) 我们把符号链接称为软链接,它是指向另一个文件的特殊文件,这种文件的数据部分仅包含它所要链接文件的路径名。软链接是为了克服硬链接的不足而引入的,软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接:文件名 + 数据部分–>目标文件的路径名)。软件有自己的inode,并在磁盘上有一小片空间存放路径名。因此,软链接能够跨文件系统,也可以和目录链接!其二,软链接可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其 链接。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3